home *** CD-ROM | disk | FTP | other *** search
/ Windows Expert / Windows Expert.iso / windownt / perlnt.zip / status.txt < prev    next >
Text File  |  1993-07-25  |  49KB  |  1,608 lines

  1. -----------------------------------------------------------------------
  2. Status of the Perl port to Windows NT.
  3. version: 1.0 (Alpha release)
  4. date:    4/22/93
  5.  
  6. This is a list of perl features (taken from the Perl Reference Guide
  7. and the book Programming Perl) and their status in the port of Perl to
  8. NT. The baseline source for the port is perl 4.036 (version 4, patch
  9. level 36). 
  10.  
  11. The format of the listing is: the perl feature in the first column,
  12. it's status in the next column, and an optional comment about the
  13. current implementation in the third and final column. A multi line
  14. description of the feature may follow the feature/status/comment line
  15. and is always terminated by a blank line.
  16.  
  17. Status Keys:
  18.  
  19.     Tested      - Checked by the Perl Test Suite or by regression
  20.                   test or by programmer usage.
  21.  
  22.     Untested    - Status unknown, may or may not work as described in
  23.                   the perl reference guide, "Programming Perl" or the
  24.                   Perl manual page.
  25.  
  26.     N/A         - Not Applicable. This feature is not planned to be
  27.                   ported to NT.
  28.  
  29.     NYI         - Not Yet Implemented. Porting is planned but has not
  30.                   yet been started.
  31.  
  32.  
  33. -----------------------------------------------------------------------
  34. Command line options
  35. -----------------------------------------------------------------------
  36.  
  37. -a                  Tested
  38.     Turns on autosplit mode when used with -n or -p.
  39.  
  40. -c                  Tested
  41.     Checks syntax but does not execute.
  42.  
  43. -d                  Tested              
  44.     Runs the script under the debugger.
  45.  
  46. -D                  Tested
  47.     Sets debugging flags. 
  48.  
  49. -e                  Tested
  50.     Used to enter one line of script.
  51.  
  52. -i                  Tested
  53.     Files processed by the <> construct are to be edited in-place. 
  54.  
  55. -I                  NYI
  56.     Used with -P; tells the C preprocessor where to look for include
  57.     files. Prepends argument to @INC.
  58.     
  59. -l                  Tested
  60.     Enables automatic line ending processing.
  61.  
  62. -n                  Tested
  63.     Assumes an input loop around your script. Lines are not printed. 
  64.  
  65. -p                  Tested
  66.     Assumes an input loop around your script. Lines are printed. 
  67.  
  68. -P                  NYI
  69.     Runs the C preprocessor on the script before compilation by perl. 
  70.  
  71. -s                  Untested
  72.     Interprets "-xxx" on the command line as switches and sets the 
  73.     corresponding variables $xxx in the script. 
  74.  
  75. -S                  Tested
  76.     Uses the PATH environment variable to search for the script. 
  77.  
  78. -u                  N/A         No core facility in NT.
  79.     Dumps core after compiling the script.
  80.  
  81. -U                  NYI
  82.     Allows perl to do unsafe operations.
  83.  
  84. -v                  Tested
  85.     Prints the version and patchlevel of your perl executable. 
  86.  
  87. -w                  Tested
  88.     Prints warnings about possible spelling errors and other
  89.     error-prone constructs in the script. 
  90.  
  91. -x                  Untested
  92.     Extracts perl program from input stream.
  93.  
  94. -0                  Tested
  95.     Designates an initial value for the record terminator $/. 
  96.  
  97.  
  98. -----------------------------------------------------------------------
  99. Literals - Constants within Perl source programs
  100. -----------------------------------------------------------------------
  101.  
  102. Numeric:            Tested
  103.  
  104. String: 
  105.        "abc"        Tested
  106.        `command`    Tested
  107.  
  108. Array:              Tested
  109.  
  110. Associative array:  Tested
  111.  
  112. Filehandles:        Tested
  113.     Pre-defined: 
  114.         <STDIN>     Tested
  115.         <STDOUT>    Tested
  116.         <STDERR>    Tested
  117.         <ARGV>      Tested
  118.         <DATA>      Tested
  119.  
  120.     User-specified: 
  121.         <<handle>>  Tested
  122.         <$<var>>    Tested
  123.         <>          Tested
  124.  
  125. Globs:              Tested
  126.  
  127. Here-Is:            Tested
  128.  
  129. Special tokens:
  130.     __FILE__        Tested
  131.     __LINE__        Tested
  132.     __END__         Tested
  133.  
  134.  
  135. -----------------------------------------------------------------------
  136. Variables
  137. -----------------------------------------------------------------------
  138. References to all types of variables within perl source.
  139.  
  140. $var                Tested
  141.  
  142. $var[28]            Tested
  143.  
  144. $var{'Feb'}         Tested
  145.  
  146. $#var               Tested
  147.  
  148. @var                Tested
  149.  
  150. @var[3,4,5]         Tested
  151.  
  152. @var{'a','b'}       Tested
  153.  
  154. %var                Tested
  155.  
  156. $var{'a',1,...}     Tested
  157.  
  158. *<name>             Tested
  159.  
  160.  
  161. -----------------------------------------------------------------------
  162. Statements
  163. -----------------------------------------------------------------------
  164. Perl source statements.
  165.  
  166. if                  Tested
  167.  
  168. unless              Tested
  169.  
  170. while               Tested
  171.  
  172. until               Tested
  173.  
  174. for                 Tested
  175.  
  176. foreach             Tested
  177.  
  178. continue            Tested
  179.  
  180. do <block> while    Tested
  181.  
  182. do <block> until    Tested
  183.  
  184.  
  185.  
  186. -----------------------------------------------------------------------
  187. Flow control
  188. -----------------------------------------------------------------------
  189. Flow of control statements
  190.  
  191. do <block>          Tested
  192.  
  193. do <subroutine>(LIST) Tested
  194.  
  195. do <FILENAME>       Tested
  196.  
  197. goto <label>        Tested
  198.  
  199. last [<label>]      Tested
  200.  
  201. next [<label>]      Tested
  202.  
  203. redo [<label>]      Tested
  204.  
  205. return <expr>       Tested
  206.  
  207.  
  208. -----------------------------------------------------------------------
  209. Operators
  210. -----------------------------------------------------------------------
  211. +                   Tested      Addition
  212. -                   Tested      Subtraction
  213. *                   Tested      Multiplication
  214. /                   Tested      Division
  215. %                   Tested      Modulo
  216. |                   Tested      Bit-wise or
  217. &                   Tested      Bit-wise and
  218. ^                   Tested      Bit-wise xor
  219. >>                  Tested      Right shift
  220. <<                  Tested      Left shift
  221. **                  Tested      Expontentiation
  222. .                   Tested      Contatenation
  223. x                   Tested      Repetition
  224. ++                  Tested      auto-increment
  225. --                  Tested      auto-decrement
  226. ? :                 Tested      Alternation
  227. ||                  Tested      Logical or
  228. &&                  Tested      Logical and
  229. ==                  Tested      Numeric Equality
  230. !=                  Tested      Numeric Inequality
  231. eq                  Tested      String Equality
  232. ne                  Tested      String Inequality
  233. <                   Tested      Numeric Greater than
  234. >                   Tested      Numeric less than
  235. lt                  Tested      String less than
  236. gt                  Tested      String greater than
  237. <=                  Tested      Numeric less than or equal to
  238. >=                  Tested      Numeric greater than or equal to
  239. le                  Tested      String less than or equal to
  240. ge                  Tested      String greater than or equal to
  241. <=>                 Tested      Numeric compare
  242. cmp                 Tested      String compare
  243. =~                  Tested      Search pattern, substitution, or translation
  244. !~                  Tested      Negated version of above
  245. ..                  Tested      Enumeration
  246. ,                   Tested      Comma operator
  247.  
  248.  
  249. -----------------------------------------------------------------------
  250. File test operators
  251. -----------------------------------------------------------------------
  252.  
  253. -r                  Tested
  254.     File is readable by effective uid/gid
  255.  
  256. -w                  Tested
  257.     File is writable by effective uid/gid
  258.  
  259. -x                  Tested      Only checks for .com, .exe, .cmd, or .bat
  260.     File is executable by effective uid/gid
  261.  
  262. -R                  Tested      Same as -r
  263.     File is readable by real uid/gid.
  264.  
  265. -W                  Tested      Same as -w
  266.     File is writeable by real uid/gid.
  267.  
  268. -X                  Tested      Only checks for .com, .exe, .cmd, or .bat
  269.     File is executable by real uid/gid.
  270.  
  271. -o                  Tested      always returns true on FAT (planned to work on NTFS)
  272.     File is owned by effective uid.
  273.  
  274. -O                  Tested      always returns true on FAT (planned to work on NTFS)
  275.     File is owned by real uid.
  276.  
  277. -e                  Tested
  278.     File exists.
  279.  
  280. -z                  Tested
  281.     File has zero size.
  282.  
  283. -s                  Tested
  284.     File exists and has non-zero size.
  285.  
  286. -f                  Tested
  287.     File is a plain file.
  288.  
  289. -d                  Tested
  290.     File is a directory.
  291.  
  292. -l                  N/A         No symbolic links in NT.
  293.     File is a symbolic link.
  294.  
  295. -S                  Tested      Currently returns false for all files
  296.     File is a socket.
  297.  
  298. -p                  NYI         Currently returns false for all files
  299.     File is a named pipe (FIFO).
  300.  
  301. -b                  N/A         No concept of special files
  302.     File is a block special file.
  303.  
  304. -c                  N/A         No concept of special files
  305.     File is a character special file.
  306.  
  307. -u                  N/A         No setuid bit in NT.
  308.     File has setuid bit set.
  309.  
  310. -g                  N/A         No setgid bit in NT.
  311.     File has setgid bit set.
  312.  
  313. -k                  N/A         No sticky bit in NT
  314.     File has sticky bit set.
  315.  
  316. -t                  Tested
  317.     Tests if filehandle is opened to a tty.
  318.  
  319. -T                  Tested
  320.     File is a text file.
  321.  
  322. -B                  Tested
  323.     File is a binary file.
  324.  
  325. -M                  Tested      Needs more testing
  326.     File creation time.
  327.  
  328. -A                  Tested      Needs more testing
  329.     File access time.
  330.  
  331. -C                  Tested      Needs more testing
  332.     File inode change time.
  333.  
  334.  
  335. -----------------------------------------------------------------------
  336. Arithmetic functions
  337. -----------------------------------------------------------------------
  338.  
  339. atan2               Tested
  340.     Returns the arctangent of <Y>/<X> in the range -pi to pi.
  341.  
  342. cos                 Tested
  343.     Returns the cosine of <expr> (expressed in radians).
  344.  
  345. exp                 Tested
  346.     Returns e to the power of <expr>.
  347.  
  348. int                 Tested
  349.     Returns the integer portion of <expr>.
  350.  
  351. log                 Tested
  352.     Returns natural logarithm (base e) of <expr>.
  353.  
  354. rand                Tested
  355.     Returns a random fractional number between 0 and the value of <expr>.
  356.  
  357. sin                 Tested
  358.     Returns the sine of <expr> (expressed in radians).
  359.  
  360. sqrt                Tested
  361.     Return the square root of <expr>.
  362.  
  363. srand               Tested
  364.     Sets the random number seed for the rand operator.
  365.  
  366. time                Tested
  367.     Returns the number of seconds since January 1, 1970
  368.  
  369. -----------------------------------------------------------------------
  370. Conversion functions
  371. -----------------------------------------------------------------------
  372.  
  373. gmtime              Tested
  374.     Converts a time as returned by the time function to a 9-element 
  375.     array ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, 
  376.     $isdst) with the time analyzed for the Greenwich timezone.
  377.  
  378. hex                 Tested
  379.     Returns the decimal value of <expr> interpreted as an hex string.
  380.  
  381. localtime           Tested
  382.     Converts a time as returned by the time function to a 9-element 
  383.     array with the time analyzed for the local timezone. 
  384.  
  385. oct                 Tested
  386.     Returns the decimal value of <expr> interpreted as an octal
  387.     string.
  388.  
  389. ord                 Tested
  390.     Returns the ascii value of the first character of <expr>.
  391.  
  392. vec                 Tested
  393.     Treats <expr> as a string of unsigned ints, and yields the bit at 
  394.     <offset>. <bits> must be between 1 and 32. May be used as an
  395.     lvalue. 
  396.  
  397.  
  398. -----------------------------------------------------------------------
  399. Structure conversion
  400. -----------------------------------------------------------------------
  401.  
  402. pack                Tested      Could use more extensive testing.
  403.     Packs the values into a binary structure using <template>.
  404.  
  405. unpack              Tested      Could use more extensive testing.
  406.     Unpacks the structure <expr> into an array, using <template>.
  407.  
  408.  
  409. -----------------------------------------------------------------------
  410. String functions
  411. -----------------------------------------------------------------------
  412.  
  413. chop                Tested
  414.     Chops off the last character on all elements of the list; returns the
  415.     last chopped character.
  416.  
  417. crypt               NYI         May not be implemented.
  418.     Encrypts a string.
  419.  
  420. eval(EXPR)          Tested
  421.    <expr> is parsed and executed as if it were a perl program.
  422.  
  423. eval{    }          Tested
  424.     Executes the code between { and }.
  425.  
  426. index               Tested
  427.     Returns the position of <substr> in <str> at or after <offset>.
  428.  
  429. length              Tested
  430.     Returns the length in characters of the value of <expr>.
  431.  
  432. rindex              Tested
  433.     Returns the position of the last <substr> in <str> at or
  434.     before <offset>.
  435.  
  436. substr              Tested
  437.    Extracts a substring out of <expr> and returns it.
  438.  
  439.  
  440. -----------------------------------------------------------------------
  441. Array and list functions
  442. -----------------------------------------------------------------------
  443.  
  444. delete              Tested
  445.     Deletes the specified value from the specified associative array.
  446.  
  447. each                Tested
  448.     Returns a 2-element array consisting of the key and value for the next
  449.     value of an associative array.
  450.  
  451. grep                Tested
  452.     Evaluates <expr> for each element of the <list>, locally setting
  453.     $_ to refer to the element.
  454.  
  455. join                Tested
  456.     Joins the separate strings of <list> into a single string with fields
  457.     separated by the value of <expr>, and returns the string.
  458.  
  459. keys                Tested
  460.     Returns an array with of all the keys of the named
  461.     associative array.
  462.  
  463. pop                 Tested
  464.     Pops and returns the last value of the array, shortens the array by 1. 
  465.  
  466. push                Tested
  467.    Pushes the values of <list> onto the end of <array>.
  468.  
  469. reverse             Tested
  470.     In array context: returns the <list> in reverse order. 
  471.     In scalar context: returns the first element of <list> with bytes
  472.     reversed.  
  473.  
  474. scalar(@array)      Tested
  475.    Returns the number of elements in the array.
  476.  
  477. scalar(%array)      Tested
  478.     Returns TRUE if the associative array has elements defined.
  479.  
  480. shift               Tested
  481.     Shifts the first value of the array off and returns it, shortening the
  482.     array by 1 and moving everything down.
  483.  
  484. sort                Tested
  485.     Sorts the <list> and returns the sorted array value.
  486.  
  487. splice              Tested
  488.     Removes the elements of @<array> designated by <offset> and
  489.     <length>, and replaces them with <list> (if specified). 
  490.  
  491. split               Tested
  492.     Splits a string into an array of strings, and returns it.
  493.  
  494. unshift             Tested
  495.     Prepends list to the front of the array, and returns the number of
  496.     elements in the new array.
  497.  
  498. values              Tested
  499.     Returns a normal array consisting of all the values of the named
  500.     associative array. 
  501.  
  502.  
  503. -----------------------------------------------------------------------
  504. File operations
  505. -----------------------------------------------------------------------
  506.  
  507. chmod               Tested      execute bit has no meaning
  508.     Changes the permissions of a list of files. 
  509.  
  510. chown               NYI
  511.     Changes the owner and group of a list of files.
  512.  
  513. truncate            Tested
  514.     truncates <file> to <size>.
  515.  
  516. link                N/A         No links in NT.
  517.     Creates a new filename linked to the old filename.
  518.  
  519. lstat               N/A         No symbolic links in NT.
  520.     Like stat, but does not traverse a final symbolic link.
  521.  
  522. mkdir               Tested
  523.     Creates a directory with given permissions. Sets $! on failure.
  524.  
  525. readlink            N/A         No links in NT.
  526.     Returns the value of a symbolic link.
  527.  
  528. rename              Tested
  529.     Changes the name of a file.
  530.  
  531. rmdir               Tested
  532.     Deletes the directory if it is empty.
  533.  
  534. stat                Tested      Minimal testing, some fields have no meaning.
  535.     Returns a 13-element array ($dev, $ino, $mode, $nlink, $uid, $gid,
  536.     $rdev, $size, $atime, $mtime, $ctime, $blksize, $blocks).
  537.  
  538. symlink             N/A         No symbolic links in NT.
  539.     Creates a new filename symbolically linked to the old filename.
  540.  
  541. unlink              Tested
  542.     Deletes a list of files.
  543.  
  544. utime               Tested      see relnotes.txt for problems.
  545.     Changes the access and modification times.
  546.  
  547.  
  548. -----------------------------------------------------------------------
  549. Directory reading routines
  550. -----------------------------------------------------------------------
  551.  
  552. closedir            Tested
  553.     Closes a directory opened by opendir.
  554.  
  555. opendir             Tested
  556.     Opens a directory on the handle specified.
  557.  
  558. readdir             Tested
  559.     Returns the next entry (or an array of entries) in the directory.
  560.  
  561. rewinddir           Tested
  562.     Positions the directory to the beginning.
  563.  
  564. seekdir             Tested
  565.     Sets position for readdir on the directory.
  566.  
  567. telldir             Tested
  568.     Returns the postion in the directory.
  569.  
  570.  
  571. -----------------------------------------------------------------------
  572. Input / Output
  573. -----------------------------------------------------------------------
  574.  
  575. binmode             Tested
  576.     Arranges for the file opened on <filehandle> to be read in "binary"
  577.     mode as opposed to "text" mode (MS-DOS only). 
  578.  
  579. close               Tested
  580.     Closes the file or pipe associated with the file handle.
  581.  
  582. dbmclose            NYI
  583.     Breaks the binding between the array and the dbm file.
  584.  
  585. dbmopen             NYI
  586.     Binds a dbm or ndbm file to the associative array.
  587.  
  588. eof                 Tested
  589.     Returns the eof status.
  590.  
  591. fcntl               N/A         No corresponding facility in NT.
  592.     Implements the  fcntl(2) function.
  593.  
  594. fileno              N/A         May be implemented.
  595.     Returns the file descriptor for a given (open) file.
  596.  
  597. flock               NYI         May not be implemented.
  598.     Calls flock(2) on the file.
  599.  
  600. getc                Tested
  601.    Yields the next character from the file, or "" on EOF. 
  602.  
  603. ioctl               N/A         No corresponding facility in NT.
  604.     Performs ioctl(2) on the file.
  605.  
  606. open                Tested
  607.     Opens a file and associates it with <filehandle>.
  608.  
  609. pipe                N/A         Not useful since there is no fork.
  610.     Returns a pair of connected pipes.
  611.  
  612. print               Tested
  613.     Prints a string or a comma-separated list of strings.
  614.  
  615. printf              Tested
  616.     Equivalent to print <filehandle> sprintf(<list>).
  617.  
  618. read                Tested
  619.     Read <length> binary bytes from the file into the variable at
  620.     <offset>.
  621.  
  622. seek                Tested
  623.     Arbitrarily positions the file.
  624.  
  625. select(file-handle) Tested
  626.     Returns the currently selected filehandle. 
  627.     Sets the current default filehandle for output operations if
  628.     <filehandle> is supplied.
  629.  
  630. select              NYI         Socket version.
  631.     Performs a select(2) system call with the same parameters.
  632.     
  633. sprintf             Tested
  634.     Returns a string formatted by (almost all of) the usual printf
  635.     conventions. 
  636.  
  637. sysread             NYI         May not be implemented.
  638.     Reads <length> bytes into $<var> at <offset>.
  639.  
  640. syswrite            NYI         May not be implemented.
  641.     Writes <length> bytes from <scalar> at <offset>.
  642.  
  643. tell                Tested
  644.     Returns the current file position for the file.
  645.  
  646. write               Tested      Needs more testing.
  647.     Writes a formatted record to the specified file, using the format
  648.     associated with that file.
  649.  
  650.  
  651. -----------------------------------------------------------------------
  652. Search and replace functions
  653. -----------------------------------------------------------------------
  654.  
  655. /<pattern>/         Tested
  656.      Searches <expr> for a pattern.
  657.     
  658. ?<pattern>?         Tested
  659.     This is just like the /<pattern>/ search, except that it matches
  660.     only once between calls to the reset operator. 
  661.  
  662. s/<pat>/<rep>/      Tested
  663.     Searches a string for a pattern, and if found, replaces that pattern
  664.     with the replacement text and returns the number of substitutions
  665.     made.
  666.  
  667. study               Tested
  668.     Study the contents of $<var> in anticipation of doing many pattern
  669.     matches on the contents before it is next modified.
  670.  
  671. tr/<search>/<rep>/  Tested
  672.     Translates all occurrences of the characters found in the search list
  673.     with the corresponding character in the replacement list.
  674.  
  675.  
  676. -----------------------------------------------------------------------
  677. System interaction
  678. -----------------------------------------------------------------------
  679.  
  680. alarm               NYI
  681.     Schedules a SIGALRM to be delivered after <expr> seconds. 
  682.  
  683. chdir               Tested
  684.     Changes the working directory, $ENV{"HOME"} if <expr> is omitted.
  685.  
  686. chroot              N/A         No single "root" in NT file systems.
  687.     Changes the root directory for the process and its children.
  688.  
  689. die                 Tested
  690.     Prints the value of <list> to STDERR and exits with the current
  691.     value of $! (errno).
  692.  
  693. exec                Tested
  694.     Executes the system command in <list>; does not return.
  695.  
  696. exit                Tested
  697.     Exits immediately with the value of EXPR.
  698.  
  699. fork                N/A         See relnotes.txt (Processes)
  700.    Does a fork(2) system call.
  701.  
  702. getlogin            NYI
  703.     Returns the current login name as known by the system.
  704.  
  705. getpgrp             N/A         See relnotes.txt (Processes)
  706.     Returns the process group for process <pid> (0, or omitted,  means the
  707.     current process). 
  708.  
  709. getppid             N/A         See relnotes.txt (Processes)
  710.     Returns the process id of the parent process.
  711.  
  712. getpriority         NYI
  713.     Returns the current priority for a process, process group, or user.
  714.  
  715. kill                NYI
  716.     Sends a signal to a list of processes.
  717.  
  718. setpgrp             N/A         See relnotes.txt (Processes)
  719.     Sets the process group for the <pid> (0 = current process).
  720.  
  721. setpriority         NYI
  722.     Sets the current priority for a process, process group, or a user.
  723.  
  724. sleep               Tested
  725.     Causes the script to sleep for <expr> seconds, or forever if no
  726.     <expr>.
  727.  
  728. syscall             N/A         See relnotes.txt (System Calls)
  729.     Calls the system call specified in the first element of the list,
  730.     passing the rest of the list as arguments to the call. 
  731.  
  732. system              Tested
  733.     Does exactly the same thing as exec <list> except that a fork is
  734.     done first, and the parent process waits for the child process to
  735.     complete.
  736.  
  737. times               NYI
  738.     Returns a 4-element array ($user, $system, $cuser, $csystem) giving
  739.     the user and system times, in seconds, for this process and the
  740.     children of this process.
  741.  
  742. umask               N/A
  743.     Sets the umask for the process and returns the old one. If <expr> is
  744.     omitted, returns current umask value. 
  745.  
  746. wait                N/A     
  747.     Waits for a child process to terminate and returns the pid of the
  748.     deceased process (-1 if none).
  749.  
  750. waitpid             N/A
  751.     Performs the same function as the corresponding system call.
  752.  
  753. warn                Tested
  754.     Prints the message on STDERR like die, but doesn't exit.
  755.  
  756.  
  757. -----------------------------------------------------------------------
  758. Networking
  759. -----------------------------------------------------------------------
  760.  
  761. accept              Untested
  762.     Accepts a new socket.
  763.  
  764. bind                Tested        Needs more extensive testing.
  765.     Binds the <name> to the <socket>.
  766.  
  767. connect             Tested        Needs more extensive testing.
  768.     Connects the <name> to the <socket>.
  769.  
  770. getpeername         Untested
  771.     Returns the socket address of the other end of the <socket>.
  772.  
  773. getsockname         Untested
  774.     Returns the name of the socket.
  775.  
  776. getsockopt          Untested
  777.     Returns the socket options.
  778.  
  779. listen              Untested
  780.     Starts listening on the specified <socket>.
  781.  
  782. recv                Tested        Needs more extensive testing.
  783.     Receives a message on <socket>.
  784.  
  785. send                Tested        Needs more extensive testing.
  786.     Sends a message on the <socket>.
  787.  
  788. setsockopt          Untested
  789.     Sets the requested socket option.
  790.  
  791. shutdown            Untested
  792.     Shuts down a <socket>.
  793.  
  794. socket              Tested        Needs more extensive testing.
  795.     Creates a <socket> in <domain> with <type> and <protocol>.
  796.  
  797. socketpair          N/A            No Unix-domain sockets provided by winsock.
  798.     Same as socket, but creates a pair of bi-directional sockets.
  799.  
  800.  
  801. -----------------------------------------------------------------------
  802. SystemV IPC
  803. -----------------------------------------------------------------------
  804.  
  805. msgctl              N/A     No message facility in NT.
  806.  
  807. msgget              N/A     No message facility in NT.
  808.  
  809. msgsnd              N/A     No message facility in NT.
  810.  
  811. msgrcv              N/A     No message facility in NT.
  812.  
  813. semctl              N/A     May consider NT ipc implementation later.
  814.  
  815. semget              N/A     May consider NT ipc implementation later.
  816.  
  817. semop               N/A     May consider NT ipc implementation later.
  818.  
  819. shmctl              N/A     May consider NT ipc implementation later.
  820.  
  821. shmget              N/A     May consider NT ipc implementation later.
  822.  
  823. shmread             N/A     May consider NT ipc implementation later.
  824.  
  825. shmwrite            N/A     May consider NT ipc implementation later.
  826.  
  827.  
  828. -----------------------------------------------------------------------
  829. Miscellaneous
  830. -----------------------------------------------------------------------
  831.  
  832. caller              Tested
  833.    Returns an array ($package,$file,$line,...) for a specific subroutine
  834.     call.
  835.  
  836. defined             Tested
  837.     Tests whether the lvalue <expr> has a real value.
  838.  
  839. dump                N/A         No core facility in NT.
  840.   Immediate core dump. 
  841.  
  842. local               Tested
  843.     Creates a scope for the listed variables local to the enclosing block,
  844.     subroutine or eval. 
  845.  
  846. package             Tested
  847.     Designates the remainder of the current block as a package.
  848.  
  849. require             Tested
  850.     Includes the specified file from the perl library.
  851.  
  852. reset               Tested
  853.     Resets ?? searches so that they work again.
  854.  
  855. scalar              Tested
  856.     Forces evaluation of <expr> in scalar context.
  857.  
  858. sub                 Tested
  859.     Designates <name> as a subroutine.
  860.  
  861. undef               Tested
  862.     Undefines the <lvalue>.
  863.  
  864. wantarray           Tested
  865.     Returns true if the current context expects an array value.
  866.  
  867.  
  868. -----------------------------------------------------------------------
  869. Info from system files
  870. -----------------------------------------------------------------------
  871.  
  872. PASSWD
  873. endpwent            N/A     Possible registry access instead.
  874. getpwent            N/A     Possible registry access instead.
  875. getpwnam            N/A     Possible registry access instead.
  876. getpwuid            N/A     Possible registry access instead.
  877. setpwent            N/A     Possible registry access instead.
  878.  
  879. GROUP
  880. endgrent            N/A     Possible registry access instead.
  881. getgrgid            N/A     Possible registry access instead.
  882. getgrnam            N/A     Possible registry access instead.
  883. getgrent            N/A     Possible registry access instead.
  884. setgrent            N/A     Possible registry access instead.
  885.  
  886. HOSTS
  887. endhostent          NYI
  888.     Ends lookup processing.
  889.  
  890. gethostbyaddr       NYI
  891.     Gets info by address.
  892.  
  893. gethostbyname       Tested
  894.     Gets info by name.
  895.  
  896. gethostent          NYI
  897.     Gets next info.
  898.  
  899. sethostent          NYI
  900.     Resets lookup processing.
  901.  
  902. NETWORKS
  903. endnetent           NYI
  904.     Ends lookup processing.
  905.  
  906. getnetbyaddr        NYI
  907.     Gets info by address and type.
  908.  
  909. getnetbyname        NYI
  910.     Gets info by name.
  911.  
  912. getnetent           NYI
  913.     Gets next info.
  914.  
  915. setnetent           NYI
  916.     Resets lookup processing.
  917.  
  918. SERVICES
  919. endservent          NYI
  920.     Ends lookup processing.
  921.  
  922. getservbyname       Tested
  923.     Gets info by name.
  924.  
  925. getservbyport       NYI
  926.     Gets info by port.
  927.  
  928. getservent          NYI
  929.     Gets next info.
  930.  
  931. setservent          NYI
  932.     Resets lookup processing.
  933.  
  934. PROTOCOLS
  935. endprotoent         NYI
  936.     Ends lookup processing.
  937.  
  938. getprotobyname      Tested
  939.     Gets info by name.
  940.  
  941. getprotobynumber    NYI
  942.     Gets info by number.
  943.  
  944. getprotoent         NYI
  945.     Gets next info.
  946.  
  947. setprotoent         NYI
  948.     Resets lookup processing.
  949.  
  950.  
  951. -----------------------------------------------------------------------
  952. Regular expressions
  953. -----------------------------------------------------------------------
  954.  
  955. .                   Tested
  956.     Matches an arbitrary character, but not a newline.
  957.  
  958. (...)               Tested
  959.     Groups a series of pattern elements to a single element.
  960.  
  961. +                   Tested
  962.     Matches the preceding pattern element one or more times.
  963.  
  964. ?                   Tested
  965.     Matches zero or one times.
  966.  
  967. *                   Tested
  968.     Matches zero or more times.
  969.  
  970. {<n>,<m>}           Tested
  971.     Denotes the minimum <n> and maximum <m> match count.
  972.  
  973. [...]               Tested
  974.     Denotes a class of characters to match. [^...] negates the class.
  975.  
  976. (...|...|...)       Tested
  977.     Matches one of the alternatives.
  978.  
  979. \w                  Tested
  980.     Matches alphanumeric, including "_", \W matches non-alphanumeric.
  981.  
  982. \b                  Tested
  983.     Matches word boundaries, \B matches non-boundaries.
  984.  
  985. \s                  Tested
  986.     Matches whitespace, \S matches non-whitespace.
  987.  
  988. \d                  Tested
  989.     Matches numeric, \D matches non-numeric.
  990.  
  991. \n                  Tested
  992.     Newline.
  993.  
  994. \r                  Tested
  995.     Carriage return.
  996.  
  997. \f                  Tested
  998.     Form Feed.
  999.  
  1000. \t                  Tested
  1001.     Horizontal Tab.
  1002.  
  1003.  
  1004. -----------------------------------------------------------------------
  1005. Special Variables
  1006. -----------------------------------------------------------------------
  1007.  
  1008. $_                  Tested
  1009.     The default input and pattern-searching space.
  1010.  
  1011. $.                  Tested
  1012.     The current input line number of the last filehandle that was read.
  1013.  
  1014. $/                  Tested
  1015.     The input record separator, newline by default. May be multi-character.
  1016.  
  1017. $,                  Tested
  1018.     The output field separator for the print operator.
  1019.  
  1020. $"                  Tested
  1021.     The separator which joins elements of arrays interpolated in strings.
  1022.  
  1023. $\                  Tested
  1024.     The output record separator for the print operator.
  1025.  
  1026. $#                  Tested
  1027.     The output format for printed numbers. Initial value is "%.20g".
  1028.  
  1029. $*                  Tested
  1030.     Set to 1 to do multiline matching within a string, 0 to assume strings
  1031.     contain a single line. Default is 0. 
  1032.  
  1033. $?                  Untested
  1034.     The status returned by the last `<command>`, pipe close or
  1035.     system operator. 
  1036.  
  1037. $]                  Tested
  1038.     The perl version string (as displayed with perl -v), or version number.
  1039.  
  1040. $[                  Tested
  1041.     The index of the first element in an array, and of the first character
  1042.     in a substring. Default is 0. 
  1043.  
  1044. $;                  Untested
  1045.     The subscript separator for multi-dimensional array emulation. Default
  1046.     is "\034". 
  1047.  
  1048. $!                  Tested
  1049.     If used in a numeric context, yields the current value of errno. If
  1050.     used in a string context, yields the corresponding error string. 
  1051.  
  1052. $@                  Tested
  1053.     The perl error message from the last eval or do <expr> command.
  1054.  
  1055. $:                  Untested
  1056.     The set of characters after which a string may be broken to fill
  1057.     continuation fields (starting with "^") in a format. 
  1058.  
  1059. $0                  Tested
  1060.     The name of the file containing the perl script being executed. May be
  1061.     assigned to. 
  1062.  
  1063. $$                  Tested
  1064.     The process number of the perl running this script.
  1065.  
  1066. $<                  NYI
  1067.     The real uid of this process.
  1068.  
  1069. $>                  NYI
  1070.     The effective uid of this process. 
  1071.  
  1072. $(                  N/A         See relnotes.txt (Users and Groups)
  1073.     The real gid of this process.
  1074.  
  1075. $)                  N/A         See relnotes.txt (Users and Groups)
  1076.     The effective gid of this process.
  1077.  
  1078. $^D                 Untested
  1079.     The debug flags as passed to perl using -D .
  1080.  
  1081. $^F                 NYI
  1082.     The highest system file descriptor, ordinarily 2.
  1083.  
  1084. $^I                 Tested
  1085.     In-place edit extension as passed to perl using -i .
  1086.  
  1087. $^L                 Tested
  1088.     Formfeed character used in formats.
  1089.  
  1090. $^P                 Tested
  1091.     Internal debugging flag.
  1092.  
  1093. $^T                 Tested
  1094.     The time (as delivered by time}) when the program started. This
  1095.     value is used by the file test operators "-M", "-A" and
  1096.     "-C".
  1097.  
  1098. $^W                 Tested
  1099.     The value if the -w option as passed to perl.
  1100.  
  1101. $^X                 Tested
  1102.     The name by which this perl was invoked.
  1103.  
  1104. $%                  Tested
  1105.     The current page number of the currently selected output channel.
  1106.  
  1107. $=                  Tested
  1108.     The page length of the current output channel. Default is 60 lines.
  1109.  
  1110. $-                  Tested
  1111.     The number of lines left on the page.
  1112.  
  1113. $~                  Tested
  1114.     The name of the current report format.
  1115.  
  1116. $^                  Tested
  1117.     The name of the current top-of-page format.
  1118.  
  1119. $|                  Tested
  1120.     If set to nonzero, forces a flush after every write or print on the
  1121.     currently selected output channel. Default is 0. 
  1122.  
  1123. $ARGV               Tested
  1124.     The name of the current file when reading from <> .
  1125.  
  1126. $&                  Tested
  1127.     The string matched by the last successful pattern match.
  1128.  
  1129. $`                  Tested
  1130.     The string preceding what was matched by the last successful match.
  1131.  
  1132. $'                  Tested
  1133.     The string following what was matched by the last successful match. 
  1134.  
  1135.  
  1136. $+                  Tested
  1137.     The last bracket matched by the last search pattern.
  1138.  
  1139.  
  1140. -----------------------------------------------------------------------
  1141. Special arrays
  1142. -----------------------------------------------------------------------
  1143.  
  1144. @ARGV               Tested
  1145.     Contains the command line arguments for the script (not including
  1146.     the command name). 
  1147.  
  1148. @INC                Tested
  1149.     Contains the list of places to look for perl scripts to be evaluated
  1150.     by the do <filename> and require commands. 
  1151.  
  1152. @_                  Tested
  1153.     Parameter array for subroutines. Also used by split if not in
  1154.     array context. 
  1155.  
  1156. %ENV                Tested
  1157.     Contains the current environment.
  1158.  
  1159. %INC                Tested
  1160.     List of files that have been required or done.
  1161.  
  1162. %SIG                Tested
  1163.     Used to set signal handlers for various signals.
  1164.  
  1165.  
  1166. -----------------------------------------------------------------------
  1167. The perl debugger
  1168. -----------------------------------------------------------------------
  1169.  
  1170. h                   Tested
  1171.     Prints out a help message.
  1172.  
  1173. T                   Tested
  1174.     Stack trace.
  1175.  
  1176. s                   Tested
  1177.     Single steps.
  1178.  
  1179. n                   Tested
  1180.     Single steps around subroutine call.
  1181.  
  1182. r                   Tested
  1183.     Returns from the current subroutine.
  1184.  
  1185. c                   Tested
  1186.     Continues (until <line>, or another breakpoint or exit).
  1187.  
  1188. <ret>               Tested
  1189.     Repeats last s or n.
  1190.  
  1191. l                   Tested
  1192.     Lists a range of lines.
  1193.  
  1194. f                   Untested
  1195.     Switches to <file> and start listing it.
  1196.  
  1197. -                   Untested
  1198.     Lists previous window.
  1199.  
  1200. w                   Tested
  1201.     Lists window around current line.
  1202.  
  1203. l                   Tested
  1204.     Lists the named <sub>routine or current source window.
  1205.  
  1206. /<pattern>/         Tested
  1207.     Forward search for <pattern>.
  1208.  
  1209. ?<pattern>?         Tested
  1210.     Backward search for <pattern>.
  1211.  
  1212. L                   Tested
  1213.     Lists lines that have breakpoints or actions.
  1214.  
  1215. S                   Tested
  1216.     List the names of all subroutines.
  1217.  
  1218. t                   Untested
  1219.     Toggles trace mode.
  1220.  
  1221. b                   Tested
  1222.  
  1223. d                   Tested
  1224.     Deletes breakpoint at the given line.
  1225.  
  1226. D                   Tested
  1227.     Deletes all breakpoints.
  1228.  
  1229. a                   Untested
  1230.     Sets an action for line.
  1231.  
  1232. A                   Untested
  1233.     Deletes all line actions.
  1234.  
  1235. < <command>         Tested
  1236.     Sets an action to be executed before every debugger prompt.
  1237.  
  1238. > <command>         Tested
  1239.     Sets an action to be executed before every s, c or n command.
  1240.  
  1241. V                   Untested
  1242.     Lists all variables in a package. Default package is main.
  1243.  
  1244. X                   Tested
  1245.     Like V, but assumes current package.
  1246.  
  1247. !                   Untested
  1248.     Redo a debugging command. Default is previous command.
  1249.  
  1250. H                   Untested
  1251.     Displays the last -<number> commands of more than one letter.
  1252.  
  1253. q                   Tested
  1254.     Quits. You may also use your <eof> character.
  1255.  
  1256. <command>           Tested
  1257.     Executes <command> as a perl statement.
  1258.  
  1259. p EXPR              Tested
  1260.     Prints <expr>.
  1261.  
  1262. =                   Untested
  1263.     Sets alias, or lists current aliases.
  1264.  
  1265.  
  1266. -----------------------------------------------------------------------
  1267. Environment variables
  1268. -----------------------------------------------------------------------
  1269.  
  1270. HOME                Tested
  1271.     Used if chdir has no argument.
  1272.  
  1273. LOGDIR              Tested
  1274.     Used if chdir has no argument and HOME is not set.
  1275.  
  1276. PATH                Tested
  1277.     Used in executing subprocesses, and in finding the perl script if -S
  1278.     is used.
  1279.  
  1280. PERLLIB             Tested
  1281.     A semi-colon separated list of directories to look for perl
  1282.     library files before looking in the standard library and the
  1283.     current directory. 
  1284.  
  1285. PERLDB              Tested
  1286.     The command to get the debugger code.
  1287.  
  1288.  
  1289. -----------------------------------------------------------------------
  1290. Perl Test Suite
  1291. -----------------------------------------------------------------------
  1292.  
  1293. The test driver for nt is the file testnt.cmd. It is a modified
  1294. version of the file TEST in the unix distribution. The actual test
  1295. scripts have been renamed from *.t to *.nt so that nt specific
  1296. modifications would not conflict with unix tests. What follows is a
  1297. list of the test scripts and the modifications made for NT:
  1298.  
  1299. base/cond.nt        unchanged
  1300. base/if.nt          unchanged
  1301. base/lex.nt         unchanged
  1302. base/pat.nt         unchanged
  1303. base/term.nt        changed /dev/null reference to nul:
  1304. cmd/elsif.nt        unchanged
  1305. cmd/for.nt          unchanged
  1306. cmd/mod.nt          unchanged
  1307. cmd/subval.nt       unchanged
  1308. cmd/switch.nt       unchanged
  1309. cmd/while.nt        unchanged
  1310. comp/cmdopt.nt      unchanged
  1311. comp/decl.nt        unchanged
  1312. comp/multiline.nt   changed reference of cat to type, changed /bin/rm
  1313.                     to del/f/q.
  1314.                     added close of filehandle 'try' so that file could
  1315.                     be deleted.
  1316. comp/package.nt     unchanged
  1317. comp/script.nt      changed ./perl to .\\perl; changed /bin/rm to
  1318.                     del/f/q.
  1319. comp/term.nt        unchanged
  1320. io/argv.nt          changed ./perl to .\\perl; changed /dev/null to
  1321.                     nul:; changed /bin/rm to del/f/q
  1322. io/dup.nt           changed 'cat' to 'type'.
  1323. io/fs.nt            changed 'pwd' to 'cd'; changed stat tests that
  1324.                     used inode or link fields.
  1325.                     deleted 'umask' tests; deleted 'link' tests;
  1326.                     deleted 'ls -l'
  1327.                     added code to delete temporary files and re-create
  1328.                     tmp directory.
  1329. io/inplace.nt       changed code createing scratch files to not use
  1330.                     'tee' and to not use leading dot in filenames;
  1331.                     changed 'cat' to 'type'; changed all references to
  1332.                     scratch files to use new names.
  1333. io/print.nt         unchanged
  1334. io/tell.nt          unchanged
  1335. lib/big.nt          unchanged
  1336. op/append.nt        unchanged
  1337. op/array.nt         unchanged
  1338. op/auto.nt          unchanged
  1339. op/chop.nt          unchanged
  1340. op/cond.nt          unchanged
  1341. op/dbm.nt           unchanged
  1342. op/delete.nt        unchanged
  1343. op/do.nt            unchanged
  1344. op/each.nt          unchanged
  1345. op/eval.nt          unchanged
  1346. op/exec.nt          changed /bin/sh to cmd.exe; changed exit code test
  1347.                     to reflect cmd.exe exit code vs. /bin/sh code.
  1348.                     deleted tests dependent on /bin/sh specific
  1349.                     behavior; 
  1350. op/exp.nt           unchanged
  1351. op/flip.nt          unchanged
  1352. op/fork.nt          not implemented
  1353. op/glob.nt          changed generation of $otherway to use readdir
  1354.                     instead of 'echo op/*'.
  1355. op/goto.nt          changed ./perl to .\\perl.
  1356. op/groups.nt        unchanged
  1357. op/index.nt         unchanged
  1358. op/int.nt           unchanged
  1359. op/join.nt          unchanged
  1360. op/list.nt          unchanged
  1361. op/local.nt         unchanged
  1362. op/magic.nt         changed 'echo $foo' to 'echo %foo%'.
  1363.                     deleted signaling code.
  1364. op/mkdir.nt         changed 'rm -rf' to 'del/f/q'.
  1365. op/oct.nt           unchanged
  1366. op/ord.nt           unchanged
  1367. op/pack.nt          unchanged
  1368. op/pat.nt           unchanged
  1369. op/push.nt          unchanged
  1370. op/range.nt         unchanged
  1371. op/read.nt          changed filename from "op/read.t" to "op/read.nt".
  1372. op/readdir.nt       changed wildcard pattern from "*.t" to "*.nt"
  1373. op/regexp.nt        unchanged
  1374. op/repeat.nt        unchanged
  1375. op/s.nt             unchanged
  1376. op/sleep.nt         unchanged
  1377. op/sort.nt          unchanged
  1378. op/split.nt         changed ./perl to .\\perl
  1379. op/sprintf.nt       unchanged
  1380. op/stat.nt          not implemented
  1381. op/study.nt         unchanged
  1382. op/substr.nt        unchanged
  1383. op/time.nt          deleted test using 'times'.
  1384. op/undef.nt         unchanged
  1385. op/unshift.nt       unchanged
  1386. op/vec.nt           unchanged
  1387. op/write.nt         changed 'cat' to 'type'.
  1388.  
  1389.  
  1390. -----------------------------------------------------------------------
  1391. Perl Library Routines
  1392. -----------------------------------------------------------------------
  1393.  
  1394. abbrev.pl           Tested
  1395. assert.pl           Tested
  1396. bigfloat.pl         Untested
  1397. bigint.pl           Tested
  1398. bigrat.pl           Tested
  1399. cacheout.pl         Untested
  1400. chat2.pl            Untested
  1401. complete.pl         NYI         Requires raw input (stty)
  1402. ctime.pl            Tested
  1403. dumpvar.pl          Tested
  1404. except.pl           Untested
  1405. fastcwd.pl          NYI         Uses inodes
  1406. find.pl             Tested
  1407. findde.pl           NYI
  1408. flush.pl            Untested
  1409. getcwd.pl           NYI         Requires lstat
  1410. getopt.pl           Tested
  1411. getopts.pl          Tested
  1412. impenv.pl           Untested
  1413. look.pl             Untested
  1414. ngetopt.pl          Untested
  1415. open2.pl            N/A         Requires fork
  1416. perldb.pl           Tested
  1417. pwd.pl              Untested
  1418. shwords.pl          Untested
  1419. stat.pl             Untested
  1420. syslog.pl           NYI         Requires sockets
  1421. termcap.pl          N/A         Requires ioctl, termcap, unix serial ports
  1422. timelocal.pl        Untested
  1423. validate.pl         Untested
  1424.  
  1425.  
  1426. -----------------------------------------------------------------------
  1427. Perl Example Routines
  1428. -----------------------------------------------------------------------
  1429.  
  1430. ADB                 N/A         Requires 'adb'
  1431. changes             N/A         Requires 'find'
  1432. down                N/A         Requires 'find'
  1433. dus                 N/A         Requires 'ls'
  1434. findcp              N/A         Requires 'find' and 'tar'
  1435. findtar             N/A         Requires 'find' and 'tar'
  1436. g/gcp               NYI         Requires 'rcp'
  1437. g/ged               N/A         Requires 'rsh'
  1438. g/gsh               N/A         Requires 'rsh'
  1439. muck                NYI         Requires 'cpp'
  1440. myrup               N/A         Requires 'ruptime'
  1441. nih                 N/A         Requires '#!' shell support
  1442. relink              N/A         Requires symlinks
  1443. rename              Untested
  1444. rmfrom              Untested
  1445. scan                N/A         Requires unix
  1446. shmkill             N/A         Requires SYSV ipc
  1447. sysvipc             N/A         Requires SYSV ipc
  1448. travesty            N/A         Requires Unix mail
  1449. van                 NYI
  1450. who                 N/A         Requires unix
  1451.  
  1452.  
  1453. -----------------------------------------------------------------------
  1454. NT Constants
  1455. -----------------------------------------------------------------------
  1456.  
  1457. $LoginName             Tested        
  1458.         login name of current user
  1459.  
  1460. $NodeName             Tested
  1461.         network name of local machine
  1462.  
  1463. $HKEY_CLASSES_ROOT    Tested
  1464.         Pre-defined handle for Registry access.
  1465.  
  1466. $HKEY_CURRENT_USER    Tested
  1467.         Pre-defined handle for Registry access.
  1468.  
  1469. $HKEY_LOCAL_MACHINE    Tested
  1470.         Pre-defined handle for Registry access.
  1471.  
  1472. $HKEY_USERS            Tested
  1473.         Pre-defined handle for Registry access.
  1474.  
  1475. $KEY_ALL_ACCESS        Untested
  1476.         Security Access Mask constant
  1477.  
  1478. $KEY_CREATE_SUB_KEY    Untested
  1479.         Security Access Mask constant
  1480.  
  1481. $KEY_ENUMERATE_SUB_KEYS        Untested
  1482.         Security Access Mask constant
  1483.  
  1484. $KEY_EXECUTE        Untested
  1485.         Security Access Mask constant
  1486.  
  1487. $KEY_NOTIFY            Untested
  1488.         Security Access Mask constant
  1489.  
  1490. $KEY_QUERY_VALUE    Untested
  1491.         Security Access Mask constant
  1492.  
  1493. $KEY_READ            Untested
  1494.         Security Access Mask constant
  1495.  
  1496. $KEY_SET_VALUE        Untested
  1497.         Security Access Mask constant
  1498.  
  1499. $KEY_WRITE            Untested
  1500.         Security Access Mask constant
  1501.  
  1502. $REG_BINARY         Tested        Binary data
  1503.          Registry data type 
  1504.  
  1505. $REG_DWORD             Tested        32 bit value
  1506.          Registry data type 
  1507.  
  1508. $REG_DWORD_LITTLE_ENDIAN    Tested    32 bit value little endian byte order
  1509.          Registry data type 
  1510.  
  1511. $REG_DWORD_BIG_ENDIAN    Tested    32 bit value in big endian (network) byte order
  1512.          Registry data type 
  1513.  
  1514. $REG_EXPAND_SZ         Tested        Null terminated string with environment variables
  1515.          Registry data type 
  1516.  
  1517. $REG_LINK             Tested        Symbolic link within registry
  1518.          Registry data type 
  1519.  
  1520. $REG_MULTI_SZ         Tested        Multiple null terminated strings
  1521.          Registry data type 
  1522.  
  1523. $REG_NONE             Tested        No type associated with this value
  1524.          Registry data type 
  1525.  
  1526. $REG_RESOURCE_LIST     Tested        Device resource list
  1527.          Registry data type 
  1528.  
  1529. $REG_SZ             Tested        Null terminated string
  1530.          Registry data type 
  1531.  
  1532.  
  1533. -----------------------------------------------------------------------
  1534. NT Registry Access
  1535. -----------------------------------------------------------------------
  1536. &RegCloseKey        Tested
  1537.         Closes a previously opened registry key.
  1538.  
  1539. &RegConnectRegistry    Untested
  1540.         Connect to a remote system's registry.
  1541.  
  1542. &RegCreateKey        Tested
  1543.         Create or open a registry key.
  1544.  
  1545. &RegCreateKeyEx        Tested
  1546.         Create or open a registry key.
  1547.  
  1548. &RegDeleteKey        Tested
  1549.         Delete a subkey from an open key.
  1550.  
  1551. &RegDeleteValue        Tested
  1552.         Delete a value from an open key.
  1553.  
  1554. &RegEnumKey            Tested
  1555.         Enumerate subkeys of an open key.
  1556.  
  1557. &RegEnumKeyEx        Tested
  1558.         Enumerate subkeys of an open key.
  1559.  
  1560. &RegEnumValue        Tested
  1561.         Enumerate values of an open key.
  1562.  
  1563. &RegFlushKey        Untested
  1564.         Causes buffered writes to registry to be written.
  1565.  
  1566. &RegGeyKeySecurity    Untested    
  1567.         Return security information about an open key.
  1568.  
  1569. &RegLoadKey            Untested    
  1570.         Writes information from file to an open key.
  1571.  
  1572. &RegOpenKey            Tested
  1573.         Open a subkey of an open key.
  1574.  
  1575. &RegOpenKeyEx        Tested
  1576.         Open a subkey of an open key.
  1577.  
  1578. &RegQueryInfoKey    Untested
  1579.         Return information on an open key.
  1580.  
  1581. &RegQueryValue        Untested
  1582.         Get value associated with value name and open key.
  1583.  
  1584. &RegQueryValueEx    Tested
  1585.         Get value and type associated with value name and open key.
  1586.  
  1587. &RegReplaceKey        Untested
  1588.         Replace a key and all subkeys and values with information from file.
  1589.  
  1590. &RegRestoreKey        Untested
  1591.         Replace registry information for key with information from file.
  1592.  
  1593. &RegSaveKey            Untested
  1594.         Save key and all subkeys and values to a file.
  1595.  
  1596. &RegSetKeySecurity    Untested
  1597.         Set security of an open registry key.
  1598.  
  1599. &RegSetValue        Tested
  1600.         Associate a value with an open key.
  1601.  
  1602. &RegSetValueEx        Tested
  1603.         Associate a named value with an open key.
  1604.  
  1605. &RegUnLoadKey        Untested
  1606.         Remove a key and all subkeys from registry.
  1607.  
  1608.